-- *****************************************************************
-- Juniper-SDX-LICENSE-MIB
--
-- Juniper Networks Inc.
-- Juniper Management Center LICENSE MIB
--
Juniper-SDX-LICENSE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Counter32,
    Gauge32,
    IpAddress,
    TimeTicks
        FROM SNMPv2-SMI

    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF

    DisplayString,
    TruthValue
        FROM SNMPv2-TC

    juniSdxMibs
        FROM Juniper-SDX-MIBS

    JuniSdxLicApplType,
    JuniSdxLicApplId,
    JuniSdxLicClientToServerStatus
        FROM Juniper-SDX-TC-MIB
        
    juniSdxSaeIndex
        FROM Juniper-SDX-SAE-MIB;

juniSdxLicMib MODULE-IDENTITY
    LAST-UPDATED "200308111100Z"  -- 08-Aug-03

    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
        "        Juniper Technical Assistance Center
                 Juniper Networks, Inc.
                 1194 N. Mathilda Avenue
                 Sunnyvale, CA 94089
                 E-mail: support@juniper.net"

    DESCRIPTION
        "MIB of the SDX LICENSE "

    REVISION "200308111100Z"  -- 08-Aug-03
    DESCRIPTION
    "First version"    
    
    ::= { juniSdxMibs 8 }

juniSdxMgmtInterface OBJECT IDENTIFIER ::= { juniSdxLicMib 1 }

--
-- License Application Table
--

    juniSdxLicApplTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniSdxLicApplEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table of License Server Application MI-derived entries."
        ::= { juniSdxMgmtInterface 2 }


    juniSdxLicApplEntry OBJECT-TYPE
        SYNTAX      JuniSdxLicApplEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "A table entry describing SDX License Application MI.
         The index for this table is: juniSdxLicApplIndex.
         It is the same as the slot number."
        INDEX   { juniSdxLicApplIndex }
        ::= { juniSdxLicApplTable 1 }

    JuniSdxLicApplEntry ::= SEQUENCE
    {
        juniSdxLicApplIndex                         Integer32,
        juniSdxLicApplUptime                        TimeTicks,
        juniSdxLicApplId                            JuniSdxLicApplId,
        juniSdxLicApplType                          JuniSdxLicApplType,
        juniSdxLicApplUsedLicenses                  Gauge32,
        juniSdxLicApplAvailableLicenses             Gauge32,
        juniSdxLicApplRequests                      Counter32,
        juniSdxLicApplRejectedRequests              Counter32
    }

    juniSdxLicApplIndex OBJECT-TYPE
        SYNTAX      Integer32 (0..10000)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "The number of the slot on which this License application is running on."
        ::= { juniSdxLicApplEntry 1 }

    juniSdxLicApplUptime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The time (in hundredths of a second) since the License Server
         was last re-initialized."
        ::= { juniSdxLicApplEntry 2 }

    juniSdxLicApplId OBJECT-TYPE
        SYNTAX      JuniSdxLicApplId
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "A identifier for this type of application license."
        ::= { juniSdxLicApplEntry 3 }

    juniSdxLicApplType OBJECT-TYPE
        SYNTAX      JuniSdxLicApplType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The type of application license."
        ::= { juniSdxLicApplEntry 4 }

    juniSdxLicApplUsedLicenses OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The current number of used application licenses."
        ::= { juniSdxLicApplEntry 5}

    juniSdxLicApplAvailableLicenses OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The current number of available application licenses."
        ::= { juniSdxLicApplEntry 6 }

    juniSdxLicApplRequests OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The total number of License Requests during the life of this
         License Server."
        ::= { juniSdxLicApplEntry 7 }

    juniSdxLicApplRejectedRequests OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The total number of rejected License Requests during the life of this
         License Server."
        ::= { juniSdxLicApplEntry 8 }

--
-- Obsolete License Client Table
--

    juniSdxObsLicClientTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniSdxObsLicClientEntry
        MAX-ACCESS  not-accessible
        STATUS      obsolete
        DESCRIPTION
        "Table of SDX License Client MI-derived entries."
        ::= { juniSdxMgmtInterface 8 }

    juniSdxObsLicClientEntry OBJECT-TYPE
        SYNTAX      JuniSdxObsLicClientEntry
        MAX-ACCESS  not-accessible
        STATUS      obsolete
        DESCRIPTION
        "A table entry describing SDX License Client MI.
         The index for this table is: juniSdxObsLicClientIndex.
         The index represents an instance of a License Client."
        INDEX   { juniSdxObsLicClientIndex }
        ::= { juniSdxObsLicClientTable 1 }

    JuniSdxObsLicClientEntry ::= SEQUENCE
    {
        juniSdxObsLicClientIndex                 Integer32,
        juniSdxObsLicClientApplId                JuniSdxLicApplId,
        juniSdxObsLicClientApplType              JuniSdxLicApplType,
        juniSdxObsLicClientServer                IpAddress,
        juniSdxObsLicClientStatus                JuniSdxLicClientToServerStatus,
        juniSdxObsLicClientRequests              Counter32,
        juniSdxObsLicClientRequestsDenied        Counter32,
        juniSdxObsLicClientLicenses              Gauge32, 
        juniSdxObsLicClientLastRequestTime       TimeTicks,
        juniSdxObsLicClientLeaseExpireTime       TimeTicks
    }

    juniSdxObsLicClientIndex OBJECT-TYPE
        SYNTAX      Integer32 (0..10000)
        MAX-ACCESS  not-accessible
        STATUS      obsolete
        DESCRIPTION
        "The index of this table. It represents an instance of a License Server Client"
        ::= { juniSdxObsLicClientEntry 1 }

    juniSdxObsLicClientApplId OBJECT-TYPE
        SYNTAX      JuniSdxLicApplId
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
        "The Application client ID for this License Server."
        ::= { juniSdxObsLicClientEntry 2 }

    juniSdxObsLicClientApplType OBJECT-TYPE
        SYNTAX      JuniSdxLicApplType
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
        "The Application client Type for this License Server."
        ::= { juniSdxObsLicClientEntry 3 }

    juniSdxObsLicClientServer OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
        "The License server address that this client is connected to."
        ::= { juniSdxObsLicClientEntry 4 }

    juniSdxObsLicClientStatus OBJECT-TYPE
        SYNTAX      JuniSdxLicClientToServerStatus
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
        "The last known status of the connection from this licensed element to its License Server."
        ::= { juniSdxObsLicClientEntry 5 }


    juniSdxObsLicClientRequests OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
        "The total number of license client requests to the License Server."
        ::= { juniSdxObsLicClientEntry 6 }

    juniSdxObsLicClientRequestsDenied OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
        "The total number of license client requests to the License Server
         that were denied."
        ::= { juniSdxObsLicClientEntry 7 }

    juniSdxObsLicClientLicenses OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
        "The total number of licenses that the server has granted to this client."
        ::= { juniSdxObsLicClientEntry 8 }

    juniSdxObsLicClientLastRequestTime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
        "This is how long ago this client requested a license."
        ::= { juniSdxObsLicClientEntry 9 }

    juniSdxObsLicClientLeaseExpireTime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
        "This is when the current license lease will expire."
        ::= { juniSdxObsLicClientEntry 10 }

--
-- License Client Table
--

    juniSdxLicClientTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniSdxLicClientEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table of SDX License Client MI-derived entries."
        ::= { juniSdxMgmtInterface 9 }

    juniSdxLicClientEntry OBJECT-TYPE
        SYNTAX      JuniSdxLicClientEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "A table entry describing SDX License Client MI.
         This table is indexed by juniSdxSaeIndex and juniSdxLicClientApplId.
         The index represents an instance of a License Client."
        INDEX   { juniSdxSaeIndex,  
                  juniSdxLicClientApplId }
        ::= { juniSdxLicClientTable 1 }

    JuniSdxLicClientEntry ::= SEQUENCE
    {
        juniSdxLicClientApplId                JuniSdxLicApplId,
        juniSdxLicClientApplType              JuniSdxLicApplType,
        juniSdxLicClientServer                IpAddress,
        juniSdxLicClientStatus                JuniSdxLicClientToServerStatus,
        juniSdxLicClientRequests              Counter32,
        juniSdxLicClientRequestsDenied        Counter32,
        juniSdxLicClientLicenses              Gauge32, 
        juniSdxLicClientLastRequestTime       TimeTicks,
        juniSdxLicClientLeaseExpireTime       TimeTicks
    }

    juniSdxLicClientApplId OBJECT-TYPE
        SYNTAX      JuniSdxLicApplId
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The Application client ID for this License Server."
        ::= { juniSdxLicClientEntry 1 }

    juniSdxLicClientApplType OBJECT-TYPE
        SYNTAX      JuniSdxLicApplType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The Application client Type for this License Server."
        ::= { juniSdxLicClientEntry 2 }

    juniSdxLicClientServer OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The License server address that this client is connected to."
        ::= { juniSdxLicClientEntry 3 }

    juniSdxLicClientStatus OBJECT-TYPE
        SYNTAX      JuniSdxLicClientToServerStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The last known status of the connection from this licensed element to its License Server."
        ::= { juniSdxLicClientEntry 4 }


    juniSdxLicClientRequests OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The total number of license client requests to the License Server."
        ::= { juniSdxLicClientEntry 5 }

    juniSdxLicClientRequestsDenied OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The total number of license client requests to the License Server
         that were denied."
        ::= { juniSdxLicClientEntry 6 }

    juniSdxLicClientLicenses OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The total number of licenses that the server has granted to this client."
        ::= { juniSdxLicClientEntry 7 }

    juniSdxLicClientLastRequestTime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This is how long ago this client requested a license."
        ::= { juniSdxLicClientEntry 8 }

    juniSdxLicClientLeaseExpireTime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This is when the current license lease will expire."
        ::= { juniSdxLicClientEntry 9 }
    
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--
-- Conformance information
--
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

juniSdxLicCompliances OBJECT IDENTIFIER ::= { juniSdxLicMib 2 }
juniSdxLicGroups      OBJECT IDENTIFIER ::= { juniSdxLicMib 3 }

-- compliance statements

juniSdxLicCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the SDX LICENSE MIB."
        MODULE  -- this module
                MANDATORY-GROUPS { juniSdxLicGroup }
        ::= { juniSdxLicCompliances 1 }

juniSdxLicGroup OBJECT-GROUP
    OBJECTS
    {
        -- Lic Application
        juniSdxLicApplUptime,
        juniSdxLicApplId,
        juniSdxLicApplType,
        juniSdxLicApplUsedLicenses,
        juniSdxLicApplAvailableLicenses,
        juniSdxLicApplRequests,
        juniSdxLicApplRejectedRequests,

        -- LIC Client
        juniSdxLicClientApplId,
        juniSdxLicClientApplType,
        juniSdxLicClientServer,
        juniSdxLicClientStatus,
        juniSdxLicClientRequests,
        juniSdxLicClientRequestsDenied,
        juniSdxLicClientLicenses,
        juniSdxLicClientLastRequestTime,
        juniSdxLicClientLeaseExpireTime

    }
    STATUS  current
    DESCRIPTION
        "A collection of management objects pertaining
        to system management capabilities in SDX. (LICENSING SERVER)"
        ::= { juniSdxLicGroups 1 }

juniSdxLicObsoleteGroup OBJECT-GROUP
    OBJECTS
    {   
        juniSdxObsLicClientApplId,
        juniSdxObsLicClientApplType,
        juniSdxObsLicClientServer,
        juniSdxObsLicClientStatus,
        juniSdxObsLicClientRequests,
        juniSdxObsLicClientRequestsDenied,
        juniSdxObsLicClientLicenses, 
        juniSdxObsLicClientLastRequestTime,
        juniSdxObsLicClientLeaseExpireTime                    
    }
    STATUS  obsolete
    DESCRIPTION
        "A collection of obsolete management objects pertaining
        to system management capabilities in SDX. (LICENSING SERVER)"
        ::= { juniSdxLicGroups 2 }
        
END